using System;
using System.ComponentModel;
using System.Data;
using System.Runtime.Serialization;

namespace MinCultura.Sipa.DataAccess.EntidadesArtes
{
	/// <summary>
	/// A custom serializable dataset containing 
	/// </summary>
	[Serializable()]
	[DesignerCategory("code")]


	/// <summary>Class for handling datasets</summary>  
		public class EntidadesArtesData : DataTable
	{
		///
		/// Constants for table and fields mapping
		///
		public const string ART_ENTIDADES_ARTES_TABLE = "ART_ENTIDADES_ARTES";

		public const string ENT_ID_FIELD = "ENT_ID";
		public const string DOC_ID_REPRESENTANTE_FIELD = "DOC_ID_REPRESENTANTE";
		public const string ENT_FECHA_DILIGENCIAMIENTO_FIELD = "ENT_FECHA_DILIGENCIAMIENTO";
		public const string ENT_OTRA_CLASE_ENTIDAD_FIELD = "ENT_OTRA_CLASE_ENTIDAD";
		public const string ENT_FORMACION_PRACTICAS_ARTISTICAS_FIELD = "ENT_FORMACION_PRACTICAS_ARTISTICAS";
		public const string ENT_NRO_INTEGRANTES_PRACTICAS_FIELD = "ENT_NRO_INTEGRANTES_PRACTICAS";
		public const string ENT_FORMACION_PUBLICO_FIELD = "ENT_FORMACION_PUBLICO";
		public const string ENT_NUM_DOCUMENTO_REPRESENTANTE_FIELD = "ENT_NUM_DOCUMENTO_REPRESENTANTE";
		public const string ENT_NOMBRE_FIELD = "ENT_NOMBRE";
		public const string ENT_IMAGEN_FIELD = "ENT_IMAGEN";
		public const string ENT_PAGINA_WEB_FIELD = "ENT_PAGINA_WEB";
		public const string ENT_ESTADO_FIELD = "ENT_ESTADO";
		public const string ENT_FECHA_VIGENCIA_INICIAL_FIELD = "ENT_FECHA_VIGENCIA_INICIAL";
		public const string ENT_FECHA_VIGENCIA_FINAL_FIELD = "ENT_FECHA_VIGENCIA_FINAL";
		public const string ENT_NIT_FIELD = "ENT_NIT";
		public const string ENT_ANO_CONSTITUCION_FIELD = "ENT_ANO_CONSTITUCION";
		public const string ENT_ACTIVIDAD_PRINCIPAL_FIELD = "ENT_ACTIVIDAD_PRINCIPAL";
		public const string ENT_AREA_ARTISTICA_FIELD = "ENT_AREA_ARTISTICA";
		public const string ENT_NOMBRE_REPRESENTANTE_LEGAL_FIELD = "ENT_NOMBRE_REPRESENTANTE_LEGAL";
		public const string ENT_CARGO_REPRESENTANTE_LEGAL_FIELD = "ENT_CARGO_REPRESENTANTE_LEGAL";
		public const string ENT_ANO_VINCUALCION_REPRESENTANTE_LEGAL_FIELD = "ENT_ANO_VINCUALCION_REPRESENTANTE_LEGAL";
		public const string ENT_NOMBRE_CONTACTO_FIELD = "ENT_NOMBRE_CONTACTO";
		public const string ENT_CARGO_CONTACTO_FIELD = "ENT_CARGO_CONTACTO";
		public const string ENT_ANO_VINCUALCION_CONTACTO_FIELD = "ENT_ANO_VINCUALCION_CONTACTO";
		public const string ENT_NIVEL_ENTIDAD_DEPENDE_RED_FIELD = "ENT_NIVEL_ENTIDAD_DEPENDE_RED";
		public const string ENT_NOMBRE_ENTIDAD_DEPENDE_RED_FIELD = "ENT_NOMBRE_ENTIDAD_DEPENDE_RED";
		public const string ENT_OBSERVACION_VALIDACION_FIELD = "ENT_OBSERVACION_VALIDACION";
		public const string ENT_CONCERTACION_FIELD = "ENT_CONCERTACION";
		public const string ENT_FECHA_ACTUALIZACION_FIELD = "ENT_FECHA_ACTUALIZACION";
		public const string ENT_RECURSO_PRIVADO_FIELD = "ENT_RECURSO_PRIVADO";
		public const string ENT_RECURSO_PUBLICO_FIELD = "ENT_RECURSO_PUBLICO";
		public const string ENT_RECURSO_MIXTAS_FIELD = "ENT_RECURSO_MIXTAS";
		public const string REG_ID_FIELD = "REG_ID";
		public const string ENT_LUGAR_EXPEDICION_FIELD = "ENT_LUGAR_EXPEDICION";
		public const string ENT_OTRO_NIVEL_FORMACION_IMPARTE_FIELD = "ENT_OTRO_NIVEL_FORMACION_IMPARTE";
		public const string ENT_EXPERIENCIA_EXITOSA_FIELD = "ENT_EXPERIENCIA_EXITOSA";
		public const string ENT_RESENA_FIELD = "ENT_RESENA";
        public const string ARD_ID_FIELD = "ARD_ID";


		protected EntidadesArtesData(SerializationInfo info, StreamingContext context)
		{
			//
		}

		public EntidadesArtesData()
		{
			BuildDataTables();
		}

		/// <summary>
		/// Creates the following datatables: Localidades
		/// </summary>
		private void BuildDataTables()
		{
			this.TableName = ART_ENTIDADES_ARTES_TABLE;

			Columns.Add(ENT_ID_FIELD, typeof (Decimal));
			Columns[ENT_ID_FIELD].Caption = "Id Entidad";

			Columns.Add(DOC_ID_REPRESENTANTE_FIELD, typeof (Decimal));
			Columns[DOC_ID_REPRESENTANTE_FIELD].Caption = "Tipo Doc Representante";

			Columns.Add(ENT_FECHA_DILIGENCIAMIENTO_FIELD, typeof (DateTime));
			Columns[ENT_FECHA_DILIGENCIAMIENTO_FIELD].Caption = "Fecha Diligenciamiento";

			Columns.Add(ENT_OTRA_CLASE_ENTIDAD_FIELD, typeof (String));
			Columns[ENT_OTRA_CLASE_ENTIDAD_FIELD].Caption = "Otra Clase de entidad";

			Columns.Add(ENT_FORMACION_PRACTICAS_ARTISTICAS_FIELD, typeof (Int32));
			Columns[ENT_FORMACION_PRACTICAS_ARTISTICAS_FIELD].Caption = "Formacion Practica Artistica";

			Columns.Add(ENT_NRO_INTEGRANTES_PRACTICAS_FIELD, typeof (Int32));
			Columns[ENT_NRO_INTEGRANTES_PRACTICAS_FIELD].Caption = "Num Integrantes Practicas";

			Columns.Add(ENT_FORMACION_PUBLICO_FIELD, typeof (String));
			Columns[ENT_FORMACION_PUBLICO_FIELD].Caption = "Formacion Publico";

			Columns.Add(ENT_NUM_DOCUMENTO_REPRESENTANTE_FIELD, typeof (String));
			Columns[ENT_NUM_DOCUMENTO_REPRESENTANTE_FIELD].Caption = "Num Doc Representante";

			Columns.Add(ENT_NOMBRE_FIELD, typeof (String));
			Columns[ENT_NOMBRE_FIELD].Caption = "Nombre Entidad";

			Columns.Add(ENT_IMAGEN_FIELD, typeof (String));
			Columns[ENT_IMAGEN_FIELD].Caption = "Nombre Imagen";

			Columns.Add(ENT_PAGINA_WEB_FIELD, typeof (String));
			Columns[ENT_PAGINA_WEB_FIELD].Caption = "Pagina Web";

			Columns.Add(ENT_ESTADO_FIELD, typeof (String));
			Columns[ENT_ESTADO_FIELD].Caption = "Estado";

			Columns.Add(ENT_FECHA_VIGENCIA_INICIAL_FIELD, typeof (DateTime));
			Columns[ENT_FECHA_VIGENCIA_INICIAL_FIELD].Caption = "Fecha Vigencia Inicial";

			Columns.Add(ENT_FECHA_VIGENCIA_FINAL_FIELD, typeof (DateTime));
			Columns[ENT_FECHA_VIGENCIA_FINAL_FIELD].Caption = "Fecha Vigencia Final";

			Columns.Add(ENT_NIT_FIELD, typeof (String));
			Columns[ENT_NIT_FIELD].Caption = "Nit";

			Columns.Add(ENT_ANO_CONSTITUCION_FIELD, typeof (Int32));
			Columns[ENT_ANO_CONSTITUCION_FIELD].Caption = "Ano Constitucion";

			Columns.Add(ENT_ACTIVIDAD_PRINCIPAL_FIELD, typeof (Decimal));
			Columns[ENT_ACTIVIDAD_PRINCIPAL_FIELD].Caption = "Actividad Ppal";

			Columns.Add(ENT_AREA_ARTISTICA_FIELD, typeof (Decimal));
			Columns[ENT_AREA_ARTISTICA_FIELD].Caption = "Area Artistica";

			Columns.Add(ENT_NOMBRE_REPRESENTANTE_LEGAL_FIELD, typeof (String));
			Columns[ENT_NOMBRE_REPRESENTANTE_LEGAL_FIELD].Caption = "Nombre Representante";

			Columns.Add(ENT_CARGO_REPRESENTANTE_LEGAL_FIELD, typeof (String));
			Columns[ENT_CARGO_REPRESENTANTE_LEGAL_FIELD].Caption = "Cargo Representante";

			Columns.Add(ENT_ANO_VINCUALCION_REPRESENTANTE_LEGAL_FIELD, typeof (Int32));
			Columns[ENT_ANO_VINCUALCION_REPRESENTANTE_LEGAL_FIELD].Caption = "Ano Vinculacion Representante";

			Columns.Add(ENT_NOMBRE_CONTACTO_FIELD, typeof (String));
			Columns[ENT_NOMBRE_CONTACTO_FIELD].Caption = "Nombre Contacto";

			Columns.Add(ENT_CARGO_CONTACTO_FIELD, typeof (String));
			Columns[ENT_CARGO_CONTACTO_FIELD].Caption = "Cargo Contacto";

			Columns.Add(ENT_ANO_VINCUALCION_CONTACTO_FIELD, typeof (Int32));
			Columns[ENT_ANO_VINCUALCION_CONTACTO_FIELD].Caption = "Ano Vinculacion Contacto";

			Columns.Add(ENT_NIVEL_ENTIDAD_DEPENDE_RED_FIELD, typeof (Int32));
			Columns[ENT_NIVEL_ENTIDAD_DEPENDE_RED_FIELD].Caption = "Nivel Entidad Depende";

			Columns.Add(ENT_NOMBRE_ENTIDAD_DEPENDE_RED_FIELD, typeof (String));
			Columns[ENT_NOMBRE_ENTIDAD_DEPENDE_RED_FIELD].Caption = "Nombre Entidad Depende";

			Columns.Add(ENT_OBSERVACION_VALIDACION_FIELD, typeof (String));
			Columns[ENT_OBSERVACION_VALIDACION_FIELD].Caption = "Observacion Validacion";

			Columns.Add(ENT_CONCERTACION_FIELD, typeof (String));
			Columns[ENT_CONCERTACION_FIELD].Caption = "En Concertacion";

			Columns.Add(ENT_FECHA_ACTUALIZACION_FIELD, typeof (DateTime));
			Columns[ENT_FECHA_ACTUALIZACION_FIELD].Caption = "Fecha Actualizacion";

			Columns.Add(ENT_RECURSO_PRIVADO_FIELD, typeof (Int16));
			Columns[ENT_RECURSO_PRIVADO_FIELD].Caption = "Recurso Privado";

			Columns.Add(ENT_RECURSO_PUBLICO_FIELD, typeof (Int16));
			Columns[ENT_RECURSO_PUBLICO_FIELD].Caption = "Recurso Publico";

			Columns.Add(ENT_RECURSO_MIXTAS_FIELD, typeof (Int16));
			Columns[ENT_RECURSO_MIXTAS_FIELD].Caption = "Recurso Mixto";

			Columns.Add(REG_ID_FIELD, typeof (Decimal));
			Columns[REG_ID_FIELD].Caption = "Id Registro";

			Columns.Add(ENT_LUGAR_EXPEDICION_FIELD, typeof (String));
			Columns[ENT_LUGAR_EXPEDICION_FIELD].Caption = "Lugar Expedicion Doc Representante";

			Columns.Add(ENT_OTRO_NIVEL_FORMACION_IMPARTE_FIELD, typeof (String));
			Columns[ENT_OTRO_NIVEL_FORMACION_IMPARTE_FIELD].Caption = "Nivel Informacion Imparte";

			Columns.Add(ENT_EXPERIENCIA_EXITOSA_FIELD, typeof (String));
			Columns[ENT_EXPERIENCIA_EXITOSA_FIELD].Caption = "Experiencia Exitosa";

			Columns.Add(ENT_RESENA_FIELD, typeof (String));
			Columns[ENT_RESENA_FIELD].Caption = "Resena";

            Columns.Add(ARD_ID_FIELD, typeof(Decimal));
		}

		/// <summary>
		/// Add a new row to the table
		/// </summary>
		/// <param name="row">Dataset row
		public void addEntidadesArtes(DataRow row)
		{
			this.Rows.Add(row);
		}

	}

}